<?php

/**
 * recherche actions.
 *
 * @package    frigospeed
 * @subpackage recherche
 * @author     0
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class rechercheActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
		//$this->utilisateurs = Doctrine_Core::getTable('Utilisateur');
		$this->utilisateurs = Doctrine_Query::create()->select('u.id')->from('Utilisateur u')->where("u.type = 'Client'")->execute();
    //$this->forward('default', 'module');
  }
	
	  public function executeSearch(sfWebRequest $request)
  {
		$nom_prod = $request->getParameter('nom_produit');

		$this->produits = Doctrine_Core::getTable('Produit');
		// Recherche produit en stock
		if(($request->getParameter('stock') == "Oui") && ($request->getParameter('client') == -1)){
			$this->produits = Doctrine_Query::create()->select('p.*')->from('Produit p')->where("p.description LIKE '%".$nom_prod."%'")->andWhere("p.stock > 0")->execute();
		// Recherche produit pas en stock
		}else if(($request->getParameter('stock') == "Non") && ($request->getParameter('client') == -1)){
			$this->produits = Doctrine_Query::create()->select('p.*')->from('Produit p')->where("p.description LIKE '%".$nom_prod."%'")->andWhere("p.stock = 0")->execute();
		// Recherche produit en stock vendu au client x
		}else if(($request->getParameter('stock') == "Oui") && ($request->getParameter('client') != -1)){
			$this->produits = Doctrine_Query::create()->select('p.*')
			->from('Produit p, Article a, Commande c')
			->where("article.produit_id = p.id")
			->andWhere("article.commande_id = commande.id")
			->andWhere("p.description LIKE '%".$nom_prod."%'")
			->andWhere("p.stock > 0")
			->andWhere("commande.utilisateur_id = '".$request->getParameter('client')."'")
			->execute();
		// Recherche produit pas en stock vendu au client x
		}else if(($request->getParameter('stock') == "Non") && ($request->getParameter('client') != -1)){
			$this->produits = Doctrine_Query::create()->select('p.*')
			->from('Produit p, Article a, Commande c')
			->where("article.produit_id = p.id")
			->andWhere("article.commande_id = commande.id")
			->andWhere("p.description LIKE '%".$nom_prod."%'")
			->andWhere("p.stock = 0")
			->andWhere("commande.utilisateur_id = '".$request->getParameter('client')."'")
			->execute();
		// Recherche produit vendu au client x
		}else if($request->getParameter('client') != -1){
			$this->produits = Doctrine_Query::create()->select('p.*')
			->from('Produit p, Article a, Commande c')
			->where("article.produit_id = p.id")
			->andWhere("article.commande_id = commande.id")
			->andWhere("p.description LIKE '%".$nom_prod."%'")
			->andWhere("commande.utilisateur_id = '".$request->getParameter('client')."'")
			->execute();
		// Recherche produit
		}else{
			$this->produits = Doctrine_Query::create()->select('p.*')->from('Produit p')->where("p.description LIKE '%".$nom_prod."%'")->execute();
		};
	}
}
